package zzxkj.blog.service;


import org.apache.ibatis.annotations.Param;
import zzxkj.blog.pojo.Tag;

import java.util.List;

public interface TagService {
    /**
     * 保存标签
     * @param tag
     * @return
     */
    int saveTag(Tag tag);

    /**
     * 删除标签
     * @param id
     * @return
     */
    int deleteTag(Long id);

    /**
     * 更新标签
     * @param tag
     * @return
     */
    int updateTag(Tag tag);
    /**
     * 获取ID标签
     * @param id
     * @return
     */
    Tag getById(Long id);
    /**
     * 根据名称获取标签
     * @param name
     * @return
     */
    Tag getByName(String name);
    /**
     * 获取所有标签
     * @return
     */
    List<Tag> getAllTag();
    /**
     * 获取所有有Blog的标签
     * @return
     */
    List<Tag> getAllTagAndBlog();

    /**
     * 通过分割以'1，2，3'字符串类型保存的TagId字符串获取Tag集合
     * @param text
     * @return
     */
    List<Tag> getTagByString(String text);

    /**
     * 获取指定数量的Tag
     * @param size
     * @return
     */
    List<Tag> listTagTop(Integer size);

    /**
     * 获取该博客的所有标签
     * @param blogId
     * @return
     */
    List<Tag> getTagsByBlogId(Long blogId);
}
